#include "common.h"
#include <string.h>
#include <strings.h>
#include <sys/socket.h>

// 接收一个字符串，去掉前后多余的空格，然后返回新的字符串
string Trim(string &str)
{
    int idx1 = str.find_first_not_of(' ');
    int idx2 = str.find_last_not_of(' ');
    if (idx1 == string::npos || idx2 == string::npos)
    {
        return "";
    }
    return str.substr(idx1, idx2-idx1+1);
}

// 通用网络包打包发送函数
int SendPacket(int sockfd, OperType t, void *data, int datalen)
{
	DataPacket* dp = (DataPacket*)new char[sizeof(DataPacket)+datalen];
	dp->datalen = datalen;
	dp->type = t;
    if (data != NULL)
    {
        memcpy(dp->data, data, datalen);
    }
	int ret = send(sockfd, dp, sizeof(DataPacket)+datalen, 0);
    delete dp;
    return ret;
}

// 通用网络包接收函数
int RecvPacket(int sockfd, void *buf, int size)
{
    bzero(buf, size);
    int ret = recv(sockfd, buf, size, 0);
    return ret;
}